/*=============================================================================
* File Name : FrameControler.h                    Ver : 1.00  Date : 2011-08-09
*
* Description :
*
*       フレームの制御クラス.
*
* Author : yuuki tsuchida.
*============================================================================*/
#ifndef _FRAME_CONTROLER_H_
#define _FRAME_CONTROLER_H_

#include <sys/time.h>

/**
 * @brief フレーム制御クラス．
 */
class FrameControler
{
public:
	/*===========================================================================*/
	/**
	 * コンストラクタ．
	 *
	 * @param fps FPS
	 */
	FrameControler( int fps );

	/*===========================================================================*/
	/**
	 * 処理待ちを行う.
	 */
	void wait();

	/*===========================================================================*/
	/**
	 * ミリ秒．
	 */
	double getMillTimeSecont();

private:
	/**
	 * 一致時間の処理待ちを行う
	 *
	 * @param waitTime　待ち時間
	 */
	void timeWait( clock_t waitTime );

private:
	/** @brief 1フレーム辺りの所要時間 */
	double IDEAL_WAIT_TIME;

	/** @brief 前のフレームでの時間 */
	double 	m_prevTime;

};

#endif
